package br.com.statizo.financeiro.domain.enums;

import java.util.ResourceBundle;


public enum GrupoLancamento {

	RECEITA("grupo.lancamento.receita.name",Natureza.RECEITA),
	INVESTIMENTO("grupo.lancamento.investimento.name",Natureza.DESPESA),
	DESPESA_FIXA("grupo.lancamento.despesa-fixa.name",Natureza.DESPESA),
	DESPESA_VARIAVEL("grupo.lancamento.despesa-variavel.name",Natureza.DESPESA),
	DESPESA_ADICIONAL("grupo.lancamento.despesa-adicional.name",Natureza.DESPESA),
	DESPESA_EXTRA("grupo.lancamento.despesa-extra.name",Natureza.DESPESA);
	
	private String nome;
	private Natureza natureza;
	
	public static ResourceBundle resourceBundle;
	
	private enum Natureza{RECEITA,DESPESA}
	
	private GrupoLancamento(String nome, Natureza natureza){
		this.nome = nome;
		this.natureza = natureza;
	}
	
	public String getNome() {
		if(resourceBundle == null)
			return nome;
		return resourceBundle.getString(nome);
	}
	
	public String toString() {
		return this.nome;
	};

	public boolean isDespesa(){
		return this.natureza.equals(Natureza.DESPESA);
	}

	public boolean isReceita(){
		return this.natureza.equals(Natureza.RECEITA);
	}

	public boolean isInvestimento(){
		return this.equals(INVESTIMENTO);
	}
}